package pkg

import (
	"fmt"
	"github.com/smartwalle/alipay/v3"
	"order/conmon/nacos"
)

func Pay(Subject, OrderSn, Amount string) string {
	nac := nacos.NacosCopnfig.Alipay
	var privateKey = nac.PrivateKey // 必须，上一步中使用 RSA签名验签工具 生成的私钥
	var client, err = alipay.New(nac.AppId, privateKey, false)

	// 将 key 的验证调整到初始化阶段
	if err != nil {
		fmt.Println(err)
		return ""
	}

	var p = alipay.TradeWapPay{}
	p.NotifyURL = nac.NotifyURL
	p.ReturnURL = nac.ReturnURL
	p.Subject = Subject
	p.OutTradeNo = OrderSn
	p.TotalAmount = Amount
	p.ProductCode = "QUICK_WAP_WAY"

	url, err := client.TradeWapPay(p)
	if err != nil {
		fmt.Println(err)
	}

	var payURL = url.String()
	fmt.Println(payURL)
	// 这个 payURL 即是用于支付的 URL，可将输出的内容复制，到浏览器中访问该 URL 即可打开支付页面。
	return payURL
}
